<?php

namespace app\yy\admin;

use app\admin\controller\Admin;
use app\common\builder\ZBuilder;
use app\yy\model\Server as ServerModel;

class Server extends Admin
{

    public function index()
    {
        // 获取查询条件
        $map = $this->getMap();
        // 数据列表
        $data_list = ServerModel::where($map)->order('id desc')->paginate();
        // 使用ZBuilder快速创建数据表格
        return ZBuilder::make('table')
            ->setPageTitle('服务器管理') // 设置页面标题
            ->setTableName('server') // 设置数据表名
            ->setSearchArea([
                ['text', 'name', '名称', 'like'],
                ['text', 'web_url', '对外域名', 'like'],
                ['text', 'service', '服务器', 'like']
            ])
            ->addColumns([ // 批量添加列
                ['id', 'ID'],
                ['name', '名称'],
                ['web_url', '对外接口'],
                ['service', '服务器'],
                ['right_button', '操作', 'btn']
            ])
            ->addTopButtons('add') // 批量添加顶部按钮
//            ->addRightButtons('delete') // 批量添加右侧按钮
            ->setRowList($data_list) // 设置表格数据
            ->setColumnWidth([
                '_checkbox' => 10,
                'id' => 15,
                'right_button' => 30,
            ])
            ->fetch(); // 渲染页面
    }

    public function add()
    {
        if ($this->request->isPost()) {
            $data = $this->request->post();
            if (!$data['web_url']){
                $this->error('对外域名 必填');
            }
            if (!$data['name']){
                $this->error('名称 必填');
            }
            if (ServerModel::create($data)) {
                $this->success('新增成功', url('index'));
            } else {
                $this->error('新增失败');
            }
        }

        return ZBuilder::make('form')
            ->setPageTitle('添加')
            ->addText('name','名称')
            ->addText('service','服务器')
            ->addText('web_url','对外域名')
            ->fetch();
    }

}